package com.ksd.pug.service.article;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ksd.pug.pojo.ArticleComment;
import com.ksd.pug.service.BaseService;
import com.ksd.pug.vo.comment.ArticleCommentPageVo;
import com.ksd.pug.vo.comment.ArticleCommentVo;

/**
 * @author 飞哥
 * @Title: 学相伴出品
 * @Description: 飞哥B站地址：https://space.bilibili.com/490711252
 * 记得关注和三连哦！
 * @Description: 我们有一个学习网站：https://www.kuangstudy.com
 * @date 2022/3/19$ 16:58$
 */
public interface IArticleCommentService extends IService<ArticleComment> , BaseService {


    /**
     * 查询所有文章评论
     * @param articleCommentPageVo
     * @return
     */
    Page<ArticleComment> loadArticleComment(ArticleCommentPageVo articleCommentPageVo);

    /**
     * 查询文章子评论信息
     * @param articleId
     * @param parentId
     * @param pageNo
     * @param pageSize
     * @return
     */
     Page<ArticleComment> loadCommentChildren(Long articleId, Long parentId, Integer pageNo, Integer pageSize);



    /**
     * 保存文章评论
     * @param articleCommentVo
     * @return
     */
    ArticleComment saveArticleComment(ArticleCommentVo articleCommentVo);

    /**
     * 保存文章评论
     * @param commentId 评论的主健
     * @param userId 用户ID 考虑到一个安全性的问题
     * @return
     */
     boolean delArticleComment(Long articleId,Long commentId, Long userId);


    /**
     * 评论赞+1
     * @param commentId
     * @return
     */
    int updateCommentPlusZannum(Long commentId);

    /**
     * 评论赞 - 1
     * @param commentId
     * @return
     */
    int updateCommentMiusZannum(Long commentId);

}
